
//原型链、闭包、回调函数还有es6之后的作用域

const http = require('http');

const url = require('url');

const router = require('./modules/router');

//创建服务器
http.createServer((req,res)=>{
    if(req.url !=='/favicon.ico'){
        //String.replace仅会替换第一个匹配到的字符
        var pathName = url.parse(req.url).pathname.replace(/\//,'');
    //    拿到信息之后，可以做路由的进一步处理。
        // 可以根据地址栏里面输入不同的路由，来做不同的处理
        //原生js
        try{
            router[pathName](req,res);
        }catch (error){
            //异常处理可以查看node.js的errors文档
            router['home'](req,res);
        }

    }

//    浏览器上面一直滚动，要调用res.end()方法，才会停止浏览器的监听
//     res.end();
//    ctrl+c重新启动

}).listen(8000);
//启动服务器的8000端口来监听连接

//8000端口被占用
// Server running at http://localhost:8000
//     events.js:183
// throw er; // Unhandled 'error' event
// ^
//
// Error: listen EADDRINUSE :::8000
// at Object._errnoException (util.js:1024:11)
// at _exceptionWithHostPort (util.js:1046:20)
// at Server.setupListenHandle [as _listen2] (net.js:1351:14)
// at listenInCluster (net.js:1392:12)
// at Server.listen (net.js:1476:7)
// at Object.<anonymous> (D:\TTS9\workspace\nodeJS\nodejs-day2\router_1.js:34:4
// )
// at Module._compile (module.js:635:30)
// at Object.Module._extensions..js (module.js:646:10)
// at Module.load (module.js:554:32)
// at tryModuleLoad (module.js:497:12)


console.log('Server running at http://localhost:8000');

//安装supervisor启动js